package com.hnd.springframework.beans.factory.config;

import com.hnd.springframework.beans.PropertyValues;

public class BeanDefinition {
    private final String beanName;
    private final Class beanClass;
    private final String beanType;
    private final PropertyValues propertyValues;
    public static final String SINGLETON = "SINGLETON";


    public BeanDefinition(String beanName, Class beanClass) {
        this(beanName, beanClass, null);
    }

    public BeanDefinition(String beanName, Class beanClass, String beanType) {
        this(beanName, beanClass, beanType, null);
    }

    public BeanDefinition(String beanName, Class beanClass, String beanType, PropertyValues propertyValues) {
        this.beanName = beanName;
        this.beanClass = beanClass;
        this.beanType = beanType;
        this.propertyValues = propertyValues == null ? new PropertyValues() : propertyValues;
    }

    public String getBeanName() {
        return beanName;
    }

    public Class getBeanClass() {
        return beanClass;
    }

    public String getBeanType() {
        return beanType;
    }

    public PropertyValues getPropertyValues() {
        return propertyValues;
    }
}
